Get in touch with the Euronext package and elevate your
understanding of financial markets through the lens of R.
Description
English
The Euronext R Package is a powerful tool for accessing and
retrieving financial information from the Euronext stock exchange.
Whether you are interested in stocks, indexes, funds, ETFs, or bonds,
this package provides a convenient interface to gather essential data
for analysis and decision-making in the financial domain. With
user-friendly functionalities, it simplifies the process of collecting
historical data on share prices, trading volumes, and other financial
indicators. Researchers, investors, and other users can extract valuable
insights and make informed decisions based on the comprehensive
information available. In essence, the ‘Euronext’ library is a valuable
asset for those seeking a deeper understanding of Euronext and the
financial markets in Europe.
Français
Le package R Euronext est un outil puissant pour accéder et récupérer
des informations financières de la bourse Euronext. Que vous soyez
intéressé par les actions, les indices, les fonds, les ETF ou les
obligations, ce package offre une interface pratique pour collecter des
données essentielles pour l’analyse et la prise de décision dans le
domaine financier. Avec des fonctionnalités conviviales, il simplifie le
processus de collecte de données historiques sur les prix des actions,
les volumes de transactions et d’autres indicateurs financiers. Les
chercheurs, les investisseurs et d’autres utilisateurs peuvent extraire
des informations précieuses et prendre des décisions éclairées en se
basant sur les informations complètes disponibles. En somme, la
bibliothèque ‘Euronext’ est un atout précieux pour ceux qui cherchent à
approfondir leur compréhension d’Euronext et des marchés financiers en
Europe.
Html version of the Readme Since the size of the readme is huge due
to the charts, you can visit the html version of the readme on RPubs
Installation
Installation guidelines
You can install the development version of EURONEXT from github with:
# github dev version
## We can use devtools
# Install the development version from GitHub
devtools::install_github("Fredysessie/Euronext")
# Or use remotes
# install.packages("remotes")
remotes::install_github("Fredysessie/Euronext")
EN_GetProfile() function
To better utilize the various functions of the ‘Euronext’ package, it
is crucial to provide accurate information (such as ticker Name, ISIN,
Symbol, or DNA) to the functions.
This function retrieves the profile of a given ticker - Equity,
Index, Fund, ETF, or Bond - listed on the Euronext exchange based on its
ticker Name, ISIN, Symbol, or DNA. It returns a list with details such
as Name, ISIN, Symbol, and DNA information. It receives two (2)
parameters: - ‘ticker’ : A character string representing the company’s
ticker Name, ISIN, Symbol or DNA, - ‘stock_type’ : The type of the
ticker: ‘Eq_Ind’ for Stocks and Indexes, ‘Fund’ or “F” for Fund tickers,
‘Bond’ or “B” for Bond tickers, and ‘Etfs’ or “E” for EFTs.
Example 1.a : Retrieve the profile
(characteristics) of a specified Equity, Index, Fund, ETF, or
Bond listed on Euronext.
Please refer to the respective functions
EN_GetISIN(), EN_GetISIN_Etf(),
EN_GetISIN_F(), and EN_GetISIN_B() if
you wish to obtain the DNA of a giving Equity or Index, ETF, Fund, and
Bond listed on Euronext (retrieving DNA is useful in case you decide to
use ‘escape = T’ option).
# Note: For Equity, Index, Fund, and ETF, provide the giving Symbol, ISIN, Name, or DNA for best results, but for a Bond, provide its DNA and sometimes its Name for best results because a company or country can issue more than one Bond.
## Equities
# Example a : '3D SYSTEMS CORP' equity
EN_GetProfile("4ddd") # By providing Symbol
#> $Name
#> [1] "3D SYSTEMS CORP"
#>
#> $ISIN
#> [1] "US88554D2053"
#>
#> $DNA
#> [1] "US88554D2053-ETLX"
#>
#> $Symbol
#> [1] "4DDD"
# Example b : 'ALFEN' equity
EN_GetProfile("NL0012817175") # By providing ISIN
#> $Name
#> [1] "ALFEN"
#>
#> $ISIN
#> [1] "NL0012817175"
#>
#> $DNA
#> [1] "NL0012817175-XAMS"
#>
#> $Symbol
#> [1] "ALFEN"
# Example c : 'LES HOTELS BAVEREZ' equity
EN_GetProfile("LES HOTELS BAVEREZ") # By providing Name
#> $Name
#> [1] "LES HOTELS BAVEREZ"
#>
#> $ISIN
#> [1] "FR0007080254"
#>
#> $DNA
#> [1] "FR0007080254-ALXP"
#>
#> $Symbol
#> [1] "ALLHB"
# Example d : 'BE SEMICONDUCTOR' equity
EN_GetProfile("NL0012866412-XAMS") # By providing DNA
#> $Name
#> [1] "BE SEMICONDUCTOR"
#>
#> $ISIN
#> [1] "NL0012866412"
#>
#> $DNA
#> [1] "NL0012866412-XAMS"
#>
#> $Symbol
#> [1] "BESI"
## Indices
# Example a : 'AEX CONS STAPL GR' Index
EN_GetProfile("NLCSG") # By providing Symbol
#> $Name
#> [1] "AEX CONS STAPL GR"
#>
#> $ISIN
#> [1] "QS0011225420"
#>
#> $DNA
#> [1] "QS0011225420-XAMS"
#>
#> $Symbol
#> [1] "NLCSG"
# Example b : 'AEX All-Share Index' Index
EN_GetProfile("NL0000249100") # By providing ISIN
#> $Name
#> [1] "AEX ALL-SHARE"
#>
#> $ISIN
#> [1] "NL0000249100"
#>
#> $DNA
#> [1] "NL0000249100-XAMS"
#>
#> $Symbol
#> [1] "AAX"
# Example c : 'Euronext Core Europe 30 EW Decrement 5% NR' Index
EN_GetProfile("EN CE EW30 D 5% NR") # By providing Name
#> $Name
#> [1] "EN CE EW30 D 5% NR"
#>
#> $ISIN
#> [1] "NL0012483929"
#>
#> $DNA
#> [1] "NL0012483929-XAMS"
#>
#> $Symbol
#> [1] "COR30"
# Example d : 'SBF 120 NR' Index
EN_GetProfile("QS0011131842-XPAR") # By providing DNA
#> $Name
#> [1] "SBF 120 NR"
#>
#> $ISIN
#> [1] "QS0011131842"
#>
#> $DNA
#> [1] "QS0011131842-XPAR"
#>
#> $Symbol
#> [1] "PX4NR"
## ETFs
# Example a : 'Asia IG Corp US A' Etf
EN_GetProfile("$Asia IG Corp US A", stock_type = 'E') # By providing Name
#> $Name
#> [1] "$ASIA IG CORP US A"
#>
#> $ISIN
#> [1] "IE0007G78AC4"
#>
#> $DNA
#> [1] "IE0007G78AC4-XAMS"
#>
#> $Symbol
#> [1] "ASIG"
# Example b : '1X MSFT' Etf
EN_GetProfile("MSFT", stock_type = 'E') # By providing Symbol
#> $Name
#> [1] "1X MSFT"
#>
#> $ISIN
#> [1] "XS2337100320"
#>
#> $DNA
#> [1] "XS2337100320-XAMS"
#>
#> $Symbol
#> [1] "MSFT"
# Example c : '3X LONG COINBASE' Etf
EN_GetProfile("XS2399367254", stock_type = 'E') # By providing ISIN of 3X LONG COINBASE
#> $Name
#> [1] "3X LONG COINBASE"
#>
#> $ISIN
#> [1] "XS2399367254"
#>
#> $DNA
#> [1] "XS2399367254-XAMS"
#>
#> $Symbol
#> [1] "3CON"
# Example d : '3X PLTR' Etf
EN_GetProfile("XS2663694680-XAMS", stock_type = 'E') # By providing DNA
#> $Name
#> [1] "3X PLTR"
#>
#> $ISIN
#> [1] "XS2663694680"
#>
#> $DNA
#> [1] "XS2663694680-XAMS"
#>
#> $Symbol
#> [1] "3PLT"
# Funds
# Example a : 'ACOMEA PERFORMANCE' Fund
EN_GetProfile("ACAPER", stock_type = 'F') # By providing Symbol
#> $Name
#> [1] "ACOMEA PERFORMANCE"
#>
#> $ISIN
#> [1] "IT0005090912"
#>
#> $DNA
#> [1] "IT0005090912-ATFX"
#>
#> $Symbol
#> [1] "ACAPER"
# Example b : 'BNP ESGNL' Fund
EN_GetProfile("BNP ESGNL", stock_type = 'F') # By providing Name
#> $Name
#> [1] "BNP ESGNL"
#>
#> $ISIN
#> [1] "NL0012727432"
#>
#> $DNA
#> [1] "NL0012727432-XAMS"
#>
#> $Symbol
#> [1] "ESGNL"
# Example c : 'SWIF2' Fund
EN_GetProfile("NL0015000W40", stock_type = 'F') # By providing ISIN of SWIF2
#> $Name
#> [1] "SWIF2"
#>
#> $ISIN
#> [1] "NL0015000W40"
#>
#> $DNA
#> [1] "NL0015000W40-XAMS"
#>
#> $Symbol
#> [1] "SWIF2"
# Example d : 'GOLDMAN SACHS PARAPLUFONDS 2 N' Fund
EN_GetProfile("NL0000293181-XAMS", stock_type = 'F') # By providing DNA of GSDM5
#> $Name
#> [1] "GS DYN MIX FD V"
#>
#> $ISIN
#> [1] "NL0000293181"
#>
#> $DNA
#> [1] "NL0000293181-XAMS"
#>
#> $Symbol
#> [1] "GSDM5"
# Examples for Bonds
# Example a: 'A2A SLB TF 0,625%' Bond
EN_GetProfile("XS2364001078-XMOT", stock_type = 'B') # By providing DNA
#> $Name
#> [1] "A2A SLB TF 0,625%"
#>
#> $ISIN
#> [1] "IT0005386724"
#>
#> $DNA
#> [1] "XS2364001078-XMOT"
#>
#> $Issuer
#> [1] "A2A S.p.A."
# Example b: 'AAB1.50%30SEP30' Bond
EN_GetProfile("AAB1.50%30SEP30", stock_type = 'B') # By providing Name
#> $Name
#> [1] "AAB1.50%30SEP30"
#>
#> $ISIN
#> [1] "IT0005386724"
#>
#> $DNA
#> [1] "XS1298431799-XAMS"
#>
#> $Issuer
#> [1] "ABN AMRO BANK N.V."
EN_Get_News() function
This function retrieves the update information of a company listed on
the Euronext exchange based on its ticker symbol. It returns a table
with details such as its real Name, ISIN, Last traded Price, Date of
last update, and other relevant informations.
Inputs : - ticker A character string representing
the company’s ticker, name, or ISIN. - stock_type The type of
the ticker: ‘Eq_Ind’ for Stocks and Indexes, ‘Fund’ or “F” for Fund
tickers,‘Bond’ or “B” for Bond tickers, and ‘Etfs’ or “E” for EFTs. -
escape Boolean, either T or F. If escape is True, it means
you’re providing the DNA (ISIN-Market identifier) directly. Giving T to
escape is helpful to avoid time-consuming operations; otherwise, F means
you need to provide the Ticker symbol, name, or ISIN and the type of
market to which it belongs.
Example 1.b : Get Latest News for an Equity
# Retrieve news for the equity "AALBERTS N.V." using its DNA
equity_news <- EN_Get_News("NL0000852564-XAMS", escape = TRUE)
print(equity_news)
|
Information
|
Detail
|
|
Name
|
AALBERTS N.V.
|
|
Belongs to
|
Euronext Amsterdam
|
|
ISIN
|
NL0000852564
|
|
Type
|
Stock
|
|
Last traded Price
|
36.00
|
|
Date of last update
|
09/02/2024 - 17:35 CET
|
|
Since Open
|
-0.14 (-0.39%)
|
|
Since Previous Close
|
-0.07 (-0.19%)
|
|
Valuation Close
|
36.00
|
|
Best Bid
|
35.86
|
|
Best Ask
|
36.50
|
Example 1.c : Get Latest News for an Index
# Retrieve news for the index "AEX All-Share Index GR" using its symbol
index_news <- EN_Get_News("QS0011224977-XAMS", escape = TRUE)
print(index_news)
|
Information
|
Detail
|
|
Name
|
AEX All-Share Index GR
|
|
Belongs to
|
Euronext Amsterdam
|
|
ISIN
|
QS0011224977
|
|
Type
|
Index
|
|
Last level
|
4,532.69
|
|
Date of last update
|
09/02/2024 - 18:05 CET
|
|
Since Open
|
+35.42 (+0.79%)
|
|
Since Previous Close
|
+35.42 (+0.79%)
|
Example 1.d : Get Latest News for a Bond
# Retrieve news for the bond "AAB0.45%12DEC2036" using its DNA
bond_news <- EN_Get_News("XS2093705064-XAMS", escape = TRUE)
print(bond_news)
|
Information
|
Detail
|
|
Name
|
AAB0.45%12DEC2036
|
|
Belongs to
|
Euronext Amsterdam
|
|
ISIN
|
XS2093705064
|
|
Type
|
Bond
|
|
Valuation Close
|
100.00
|
EN_Stocks_List() function
This function receives as input stock_choice and
then retrieves a list of companies listed on the provided Euronext stock
exchanges, filtered by the initial letter of their names. It provides
information such as the company name, ticker symbol, ISIN code, market,
last closing price, percentage change, and a link to the company’s
details on the Euronext website. - stock_choice A character string
specifying the stock exchange. Options include “A” or “Amsterdam,” “B”
or “Brussels,” “D” or “Dublin”, “L” or “Lisbon,” “M” or “Milan,” “P” or
“Paris,” and “O” or “Oslo.”
Example 2.a : Get Euronext Stocks List
# The columns names of the initial dataframe is c("Date", "Name", "Ticker", "Code_ISIN", "Market", "Last_price", "Percentage change (in %)", "URL", "Ticker_adn")
# So I will only display columns "Name", "Ticker", "Code_ISIN", "Market", "Last_price" and "Percentage change (in %)"
# For Amsterdam Stock
a_result_df <- EN_Stocks_List("A")
head(a_result_df)[,c(2:6)]
|
Name
|
Ticker
|
Code_ISIN
|
Market
|
Last_price
|
|
AALBERTS NV
|
AALB
|
NL0000852564
|
XAMS
|
€36.00
|
|
ABN AMRO BANK N.V.
|
ABN
|
NL0011540547
|
XAMS
|
€13.08
|
|
ACCSYS
|
AXS
|
GB00BQQFX454
|
XAMS
|
€0.66
|
|
ACOMO
|
ACOMO
|
NL0000313286
|
XAMS
|
€17.52
|
|
ADUX
|
ADUX
|
FR0012821890
|
XPAR, XAMS
|
€1.31
|
|
ADYEN
|
ADYEN
|
NL0012969182
|
XAMS
|
€1
|
# For Brussels Stock
b_result_df <- EN_Stocks_List("B")[,c(2:6)]
tail(b_result_df)
|
|
Name
|
Ticker
|
Code_ISIN
|
Market
|
Last_price
|
|
137
|
WDP
|
WDP
|
BE0974349814
|
XBRU, XAMS
|
€25.76
|
|
138
|
WERELDHAVE BELGIUM
|
WEHB
|
BE0003724383
|
XBRU
|
€47.60
|
|
139
|
WHAT
|
WHATS
|
BE0003573814
|
XBRU
|
€56.40
|
|
140
|
WHITESTONE GROUP
|
ROCK
|
BE0974401334
|
ALXB
|
€10.40
|
|
141
|
XIOR
|
XIOR
|
BE0974288202
|
XBRU
|
€27.10
|
|
142
|
ZENOBE GRAMME CERT
|
ZEN
|
BE0003809267
|
XBRU
|
€180.00
|
# For Paris Stock
p_result_df <- EN_Stocks_List("P")[,c(2:6)]
head(p_result_df)
|
Name
|
Ticker
|
Code_ISIN
|
Market
|
Last_price
|
|
1000MERCIS
|
ALMIL
|
FR0010285965
|
ALXP
|
€26.00
|
|
2CRSI
|
AL2SI
|
FR0013341781
|
ALXP
|
€4.14
|
|
A.S.T. GROUPE
|
ALAST
|
FR0000076887
|
ALXP
|
€0.962
|
|
AB SCIENCE
|
AB
|
FR0010557264
|
XPAR
|
€3.14
|
|
ABC ARBITRAGE
|
ABCA
|
FR0004040608
|
XPAR
|
€4.39
|
|
ABEO
|
ABEO
|
FR0013185857
|
XPAR
|
€13.15
|
# For Lisbon Stock
l_result_df <- EN_Stocks_List("L")[,c(2:6)]
head(l_result_df)
|
Name
|
Ticker
|
Code_ISIN
|
Market
|
Last_price
|
|
AGUAS DA CURIA
|
CUR
|
PTCUR0AP0000
|
ENXL
|
€1.17
|
|
ALTRI SGPS
|
ALTR
|
PTALT0AE0002
|
XLIS
|
€4.402
|
|
ATRIUM BIRE SIGI
|
MLATR
|
PTTBI0AM0006
|
ENXL
|
NANA
|
|
B.COM.PORTUGUES
|
BCP
|
PTBCP0AM0015
|
XLIS
|
€0.2543
|
|
BENFICA
|
SLBEN
|
PTSLB0AM0010
|
XLIS
|
€2.90
|
|
COFINA,SGPS
|
CFN
|
PTCFN0AE0003
|
XLIS
|
€0.43
|
# For Milan Stock
m_result_df <- EN_Stocks_List("M")[,c(2:6)] # For Milan Stock
tail(m_result_df)
|
|
Name
|
Ticker
|
Code_ISIN
|
Market
|
Last_price
|
|
1903
|
ZOETIS
|
4ZTS
|
US98978V1035
|
ETLX
|
€183.00
|
|
1904
|
ZOETIS
|
2ZTS
|
US98978V1035
|
MTAH
|
€173.20
|
|
1905
|
ZOOM VIDEO COMM
|
4ZM
|
US98980L1017
|
ETLX
|
€59.43
|
|
1906
|
ZOOM VIDEO COMM
|
1ZM
|
US98980L1017
|
BGEM
|
€58.78
|
|
1907
|
ZOOM VIDEO COMM
|
2ZM
|
US98980L1017
|
MTAH
|
€64.31
|
|
1908
|
ZUCCHI
|
ZUC
|
IT0005395071
|
MTAA
|
€2.05
|
# For Dublin Stock
d_result_df <- EN_Stocks_List("D")[,c(2:6)]
tail(d_result_df)
|
|
Name
|
Ticker
|
Code_ISIN
|
Market
|
Last_price
|
|
28
|
ORIGIN ENT. PLC
|
OIZ
|
IE00B1WV4493
|
XESM
|
€3.40
|
|
29
|
OVOCA BIO PLC
|
OVXA
|
IE00B4XVDC01
|
XESM
|
€0.01
|
|
30
|
PERM. TSB GP. HOLD
|
PTSB
|
IE00BWB8X525
|
XMSM
|
€1.65
|
|
31
|
RYANAIR HOLD. PLC
|
RYA
|
IE00BYTBXV33
|
XMSM
|
€20.00
|
|
32
|
SMURFIT KAPPA GP
|
SK3
|
IE00B1RR8406
|
XMSM
|
€37.15
|
|
33
|
UNIPHAR PLC
|
UPR
|
IE00BJ5FQX74
|
XESM
|
€2.87
|
# For Oslo Stock
o_result_df <- EN_Stocks_List("O")[,c(2:6)]
head(o_result_df, 10)
|
Name
|
Ticker
|
Code_ISIN
|
Market
|
Last_price
|
|
AALBERTS NV
|
AALB
|
NL0000852564
|
XAMS
|
€36.00
|
|
ABN AMRO BANK N.V.
|
ABN
|
NL0011540547
|
XAMS
|
€13.08
|
|
ACCSYS
|
AXS
|
GB00BQQFX454
|
XAMS
|
€0.66
|
|
ACOMO
|
ACOMO
|
NL0000313286
|
XAMS
|
€17.52
|
|
ADUX
|
ADUX
|
FR0012821890
|
XPAR, XAMS
|
€1.31
|
|
ADYEN
|
ADYEN
|
NL0012969182
|
XAMS
|
€1
|
Example 2.b : Euronext Paris ticker ISIN
# Retrieve the ISIN for a company with ticker "abca"
EN_P_Ticker_adn("abca")
#> [1] "FR0004040608-XPAR"
# Example result for a valid ticker "AAA"
result <- EN_P_Ticker_adn("AAA")
print(result)
#> [1] "FR0000062465-XPAR"
# Example for a non-existing ticker "afsf"
print(EN_P_Ticker_adn("afsf")) # Ticker is not existing
#> [1] "Ticker not found"
Example 2.c : Show in detail Paris Euronext Stocks
EN_Indices_List() function
It receives no argument and retrieves information about all indices
available on Euronext.
Example 3 : Get the list of Euronext Indexes
# Get list of Indices available on Euronext
all_indices = EN_Indices_List()
dim(all_indices)
tail(all_indices)
#> [1] 1263 8
|
Name
|
Isin
|
Symbol
|
Last
|
Percentage change (in %)
|
Date_Time
|
YTD%
|
Ticker_adn
|
|
SBF Top 50 ESG EW GR
|
FR0013371432
|
ESF5G
|
€1252.28
|
-0.40%
|
09 Feb 2024
|
-0.74%
|
FR0013371432-ESF5G
|
|
SBF Top 50 ESG EW NR
|
FR0013371424
|
ESF5N
|
€1193.37
|
-0.40%
|
09 Feb 2024
|
-0.79%
|
FR0013371424-ESF5N
|
|
SBF Top 80 EW
|
FR0013017936
|
SBF80
|
€1246.28
|
+0.10%
|
09 Feb 2024
|
-0.46%
|
FR0013017936-SBF80
|
|
SBF Top 80 EW Decrement 50 Points
|
FR0013017969
|
SBF8D
|
€1001.85
|
+0.08%
|
09 Feb 2024
|
-0.92%
|
FR0013017969-SBF8D
|
|
SBF Top 80 EW GR
|
FR0013017951
|
SBF8G
|
€1587.18
|
+0.10%
|
09 Feb 2024
|
-0.35%
|
FR0013017951-SBF8G
|
|
SBF Top 80 EW NR
|
FR0013017944
|
SBF8N
|
€1485.20
|
+0.10%
|
09 Feb 2024
|
-0.38%
|
FR0013017944-SBF8N
|
EN_Etfs_List() and
EN_Etfs_List_bis functions
EN_Etfs_List receives as input tot_page
which is the total number of pages to retrieve. In contrast,
EN_Etfs_List_bis receives as input target_page
which represents the target page. For example, the function
EN_Etfs_List_bis(5), retrieves only the fifth page of
the Etfs list, allowing more granular control of the data retrieval
process (ordered list of 100 Etfs), whereas
EN_Etfs_List(5) would return an ordered list of 500
Etfs listed on Euronext (on each page there are 100 Etfs, so for 5 pages
5*100 = 500).
Example 4 : Get the list of ETFs quoted on Euronext
markets
# Get 1st 500 Etfs in alphabetic order
dt_ <- EN_Etfs_List()
tail(dt_[, c(2:9)])
# The number of columns and rows
dim(dt_)
|
|
Name
|
Ticker
|
Code_ISIN
|
Market
|
Bid
|
Ask
|
Last_price
|
Percentage_change
|
|
495
|
AMUNDI US MIN VO
|
MIVU
|
LU1589349734
|
XAMS
|
|
|
$89.569
|
0.27
|
|
496
|
AMUNDI US STEEPEN
|
STPU
|
LU2018762653
|
XPAR
|
|
|
€87.432
|
-0.14
|
|
497
|
AMUNDI US TIPS
|
UIFL
|
LU1525419294
|
XPAR
|
|
|
$58.359
|
NA
|
|
498
|
AMUNDI US-T 10Y+
|
U10HK
|
LU2338178648
|
XPAR
|
|
|
NA674.704
|
0.10
|
|
499
|
Amundi USASRI
|
USRI
|
IE000R85HL30
|
XPAR
|
|
|
€102.958
|
0.12
|
|
500
|
Amundi USASRI
|
USRI
|
IE000R85HL30
|
XAMS
|
|
|
$111.09
|
0.34
|
#> [1] 500 11
# By default, EN_Etfs_List_bis() returns the list of 100 Etfs in alphabetic order
dt_1 <- EN_Etfs_List_bis()
# The number of columns and rows
dim(dt_1)
# Head
dt_1.h <- head(dt_1[, c(2:9)])
#> [1] 100 11
|
Name
|
Ticker
|
Code_ISIN
|
Market
|
Bid
|
Ask
|
Last_price
|
Percentage_change
|
|
$Asia IG Corp US A
|
ASIG
|
IE0007G78AC4
|
XAMS
|
|
|
$4.811
|
0.14
|
|
-1X SHORT DIS
|
SDIS
|
XS2337085422
|
XAMS
|
|
|
€5.9605
|
0.36
|
|
-1X SHORT PLTR
|
SPLR
|
XS2337086669
|
XAMS
|
|
|
€1.2642
|
-3.27
|
|
-1X SHORT PLUG
|
SPLU
|
XS2336362079
|
XAMS
|
|
|
€4.1274
|
-0.03
|
|
-3X ARK INNOVATION
|
SARKK
|
XS2399368906
|
XAMS
|
|
|
€0.5369
|
-7.86
|
|
-3x China Tech
|
SKWE
|
XS2399370126
|
XAMS
|
|
|
€0.31
|
1.84
|
EN_Bonds_List() and
EN_Bonds_List_bis functions
EN_Bonds_List receives as input tot_page
which is the total number of pages to retrieve. In contrast,
EN_Bonds_List_bis receives as input
target_page which represents the target page. For
example, the function EN_Bonds_List_bis(5), retrieves
only the fifth page of the Bonds list, allowing more granular control of
the data retrieval process (ordered list of 100 Bonds), whereas
EN_Bonds_List(5) would return an ordered list of 500
Bonds listed on Euronext (on each page there are 100 Bonds, so for 5
pages 5*100 = 500).
Example 5 : Get the list of Bonds quoted on
Euronext markets
# Get 1st 500 Bonds in alphabetic order
dt_b <- EN_Bonds_List()
head(dt_b[, c(2:9)])
tail(dt_b[, c(2:9)])
|
Name
|
Issuer
|
Code_ISIN
|
Market
|
Maturity
|
Coupon
|
Last_price
|
Percentage change
|
|
2019 PB RMBS TV EU
|
2019 POPOLARE BARI RMBS
|
IT0005386724
|
XMOT
|
2069-05-31
|
0.0%
|
|
|
|
2019 PB RMBS TV EU
|
2019 POPOLARE BARI RMBS
|
IT0005386724
|
XMOT
|
2069-05-31
|
0.0%
|
|
|
|
2019 PB RMBS TV EU
|
2019 POPOLARE BARI RMBS
|
IT0005386724
|
XMOT
|
2069-05-31
|
0.0%
|
|
|
|
2I RETE GAS TF 2,1
|
2I RETE GAS
|
IT0005386724
|
XMOT
|
2025-09-11
|
0.0%
|
|
|
|
2IRG 1.608% CALL 3
|
2I RETE GAS
|
IT0005386724
|
ETLX
|
2027-10-31
|
0.0%
|
93.65
|
-0.62%
|
|
2IRG 1.75% CALL 28
|
2I RETE GAS
|
IT0005386724
|
ETLX
|
2026-08-28
|
0.0%
|
|
|
|
|
Name
|
Issuer
|
Code_ISIN
|
Market
|
Maturity
|
Coupon
|
Last_price
|
Percentage change
|
|
495
|
ALPHATHAI8%28JAN25
|
ALPHA THAI BENELUX SA
|
NO0012757709
|
VPXB
|
2025-01-28
|
8.0%
|
|
|
|
496
|
ALSTO0.125%27JUL27
|
ALSTOM
|
NO0012757709
|
XPAR
|
2027-07-27
|
0.125%
|
|
|
|
497
|
ALSTOM0%11JAN29
|
ALSTOM
|
NO0012757709
|
XPAR
|
2029-01-11
|
0.0%
|
99.22
|
0.30%
|
|
498
|
ALSTOM0.25%14OCT26
|
ALSTOM
|
NO0012757709
|
XPAR
|
2026-10-14
|
0.25%
|
|
|
|
499
|
ALSTOM0.5%27JUL30
|
ALSTOM
|
NO0012757709
|
XPAR
|
2030-07-27
|
0.5%
|
76.70
|
-22.72%
|
|
500
|
ALTARE1.75%16JAN30
|
ALTAREA
|
NO0012757709
|
XPAR
|
2030-01-16
|
1.75%
|
|
|
dt_b1 <- EN_Bonds_List_bis() #By default returns the list of 100 Bonds in alphabetic order
head(dt_b1[, c(2:9)])
tail(dt_b1[, c(2:9)])
|
Name
|
Issuer
|
Code_ISIN
|
Market
|
Maturity
|
Coupon
|
Last_price
|
Percentage change
|
|
2019 PB RMBS TV EU
|
2019 POPOLARE BARI RMBS
|
IT0005386724
|
XMOT
|
2069-05-31
|
0.0%
|
|
|
|
2019 PB RMBS TV EU
|
2019 POPOLARE BARI RMBS
|
IT0005386724
|
XMOT
|
2069-05-31
|
0.0%
|
|
|
|
2019 PB RMBS TV EU
|
2019 POPOLARE BARI RMBS
|
IT0005386724
|
XMOT
|
2069-05-31
|
0.0%
|
|
|
|
2I RETE GAS TF 2,1
|
2I RETE GAS
|
IT0005386724
|
XMOT
|
2025-09-11
|
0.0%
|
|
|
|
2IRG 1.608% CALL 3
|
2I RETE GAS
|
IT0005386724
|
ETLX
|
2027-10-31
|
0.0%
|
93.65
|
-0.62%
|
|
2IRG 1.75% CALL 28
|
2I RETE GAS
|
IT0005386724
|
ETLX
|
2026-08-28
|
0.0%
|
|
|
|
|
Name
|
Issuer
|
Code_ISIN
|
Market
|
Maturity
|
Coupon
|
Last_price
|
Percentage change
|
|
95
|
AAB1.95%7DEC2048
|
ABN AMRO BANK N.V.
|
IT0005386724
|
XAMS
|
2048-12-07
|
1.95%
|
|
|
|
96
|
AAB2.29%29JUL30
|
ABN AMRO BANK N.V.
|
IT0005386724
|
XAMS
|
2030-07-29
|
2.29%
|
|
|
|
97
|
AAB2.375%1JUN2027
|
ABN AMRO BANK N.V.
|
IT0005386724
|
XAMS
|
2027-06-01
|
2.375%
|
|
|
|
98
|
AAB2.47%13DEC29
|
ABN AMRO BANK N.V.
|
IT0005386724
|
XAMS
|
2029-12-13
|
2.47%
|
|
|
|
99
|
AAB2.47%13DEC29RS
|
ABN AMRO BANK N.V.
|
IT0005386724
|
XAMS
|
2029-12-13
|
2.47%
|
|
|
|
100
|
AAB3%1JUN2032
|
ABN AMRO BANK N.V.
|
IT0005386724
|
XAMS
|
2032-06-01
|
3.0%
|
|
|
EN_GetISIN() function
The function takes a single parameter, ‘ticker,’ which can be the
symbol, name, or ISIN of a given stock or index, and then returns its
DNA.
Example 6.a : Get DNA (ISIN-Market identifier) of a given
Stock or Index listed on Euronext by providing the Symbol or Name, or
ISIN of a Stock or an Index.
To efficiently use the ‘Euronext’ package, it is important to
understand how to handle Ticker Names, ISIN, and DNA, as many functions
in the package rely on these. Note: There is a small difference between
ISIN and DNA. Here’s a simple example: the ticker “4DDD” has the ISIN
“US88554D2053,” and its DNA is “US88554D2053-ETLX.” As you can see, the
DNA is composed of the ISIN and the market identifier “ETLX,” preceded
by “-”.
Please refer to the respective functions
EN_Stocks_List(), EN_Indices_List(),
EN_Etfs_List() or EN_Etfs_List_bis(),
EN_Funds_List(), and EN_Bonds_List()
or EN_Bonds_List_bis() if you wish to obtain a list of
available Stocks, Indices, ETFs, Funds, and Bonds on Euronext.
# Get DNA of ticker "4DDD"
EN_GetISIN("4DDD")
#> [1] "US88554D2053-ETLX"
# Get DNA for the ticker name "ADS MARITIME HOLD"
EN_GetISIN("ADS MARITIME HOLD")
#> [1] "CY0108052115-MERK"
# Get DNA for ATENOR company by providing its ISIN
EN_GetISIN("BE0003837540")
#> [1] "BE0003837540-XBRU"
EN_GetISIN_F() function
Example 6.b : Get DNA (ISIN-Market identifier) of a given
fund listed on Euronext by providing its symbol, name, or ISIN.
# Get Fund 'ACOMEA GLOBALE' DNA
aco_dna <- EN_GetISIN_F("ACOMEA GLOBALE")
# In case you want the ISI only
sub("-.*", "", aco_dna) #To get only the ISIN
#> [1] "IT0005091100"
# Get Fund 'ASNU SMALL MIDCAPF' DNA
asnu_dna <- EN_GetISIN_F("ASN5")
print(asnu_dna)
#> [1] "NL0014270217-XAMS"
# Get Fund 'COMPAM ACTIVE GLOB' DNA
EN_GetISIN_F("LU1275425897")
#> [1] "LU1275425897-ATFX"
EN_GetISIN_Etf() function
Example 6.c : Get DNA (ISIN-Market identifier) of a given
ETF listed on Euronext by providing its Symbol or Name, or ISIN of a
Stock or an Index.
# Get ETF 'AAPL' DNA
EN_GetISIN_Etf("AAPL")
#> [1] "XS2337099563-XAMS"
# Get ETF '-1X SHORT DIS' DNA
EN_GetISIN_Etf("-1X SHORT DIS")
#> [1] "XS2337085422-XAMS"
# Get ETF '3x Long Coinbase' DNA
EN_GetISIN_Etf("XS2399367254")
#> [1] "XS2399367254-XAMS"
EN_GetISIN_B() function
Example 6.d : Get DNA (ISIN-Market identifier) of a given
Bond listed on Euronext by providing its Symbol or Name, or ISIN of a
Stock or an Index.
#To get only the DNA of all same bonds issued
the_dna1 <- EN_GetISIN_B("ABN AMRO BANK N.V.")
print(the_dna1)
#> [1] "XS1344751968-XAMS"
the_isin1 <- sub("-.*", "", the_dna1) #To get only the ISINs
print(the_isin1)
#> [1] "XS1344751968"
#To get only the DNA of Bond 'A2A GREEN BOND TF'
the_dna2 = EN_GetISIN_B("A2A GREEN BOND TF")
the_isin2 =sub("-.*", "", the_dna2) #To get only the ISIN
print(the_isin2)
#> [1] "XS2403533263"
EN_Ticker_Perfomance() function
This function retrieves the historical performance data of a company
listed on the Euronext exchange based on its ticker symbol. It returns a
table with details such as the highest and lowest stock prices, date of
the highest and lowest prices, and other relevant information. It
receives three (3) parameters such us : * ‘ticker’ : A character string
representing the company’s ticker symbol, * ‘stock_type’ : The type of
the ticker: ‘Eq_Ind’ for Stocks and Indexes, ‘Fund’ or “F” for Fund
tickers, ‘Bond’ or “B” for Bond tickers, and ‘Etfs’ or “E” for EFTs. *
‘escape’ : Boolean, either T or F. If escape is True, it means you’re
providing the DNA (ISIN-Market identifier) directly. Giving T to escape
is helpful to avoid time-consuming operations; otherwise, F means you
need to provide the Ticker symbol, name, or ISIN and the type of market
to which it belongs. By default, escape = ‘FALSE’
EN_Overview_plot() function
As its name suggests, this function retrieves data from the ticker(s)
and displays it in graphical form. It offers a convenient method to
obtain a quick overview of price trends, facilitating further
analysis.
This function accepts up to seven arguments:
- ticker: is the name of the ticker(s)
- from: A quotation start date, i.e. “2020-01-01” or “2020/01/01”. The
date must be in ymd format “YYYY-MM-DD” or “YYYY/MM/DD”.
- until : A quoted end date, i.e. “2022-01-31” or “2022/01/31”. The
date must be in ymd format “YYYY-MM-DD” or “YYYY/MM/DD”.
- ‘stock_type’: Ticker type: ‘Eq_Ind’ for stocks and indices, ‘Fund’
or “F” for fund tickers, ‘Bond’ or “B” for bond tickers, and ‘Etfs’ or
“E” for EFTs.
- escape’: Boolean, either T or F. If escape is True, this means
you’re supplying the ISIN-Market identifier (ADN) directly. Giving T to
escape is useful to avoid tedious operations; otherwise, F means you
must provide the Ticker symbol, the name or ISIN and the type of market
to which it belongs. By default, escape = ‘FALSE’.
- up.col : is the color of the rise
- down.col : is the color of the fall
# The default colors for the up and down are 'darkgreen' and 'red', respectively.
chart <- EN_Overview_plot("4ddd")
# chart
ov_plot <- EN_Overview_plot(c("NL0010614533", "QS0011211206", "QS0011095914", "QS0011146899"), up.col = "blue")
# ov_plot
EN_plot() function
This EN_plot() function is distinct from the
EN_Overview_plot() function, although they share
similar parameters (ticker, from, to,
stock_type, escape, up.col,
down.col) Note: Important to note that when using
EN_plot(),only historical data from the past two years is
available. This differs from EN_Overview_plot(), where
data is available from the inception year of the company’s listing.
EN_Ticker_infos() function
This function retrieves detailed information for a given stock ticker
on the Euronext exchange. It includes information such as currency, last
traded price, valuation close, volume, turnover, transactions, VWAP
(Volume Weighted Average Price), open, high, low, threshold, previous
close, 52-week range, and market capitalization. The data is returned as
a data frame.
Inputs : - ticker A character string representing
the company’s ticker, name, or ISIN. - stock_type The type of
the ticker: ‘Eq_Ind’ for Stocks and Indexes, ‘Fund’ or “F” for Fund
tickers,‘Bond’ or “B” for Bond tickers, and ‘Etfs’ or “E” for EFTs. -
escape Boolean, either T or F. If escape is True, it means
you’re providing the DNA (ISIN-Market identifier) directly. Giving T to
escape is helpful to avoid time-consuming operations; otherwise, F means
you need to provide the Ticker symbol, name, or ISIN and the type of
market to which it belongs.
EN_intraday_Data() function
The EN_intraday_Data() function fetches intraday price data
for a specified stock on Euronext. It allows you to retrieve either
today’s intraday prices or the previous day’s intraday prices, with
“Today” being the default option. The function returns a data frame
containing the intraday stock information.
Inputs : - ticker: A character string representing
the stock ticker or name. - day_type : A character string
specifying the type of intraday price to fetch. Options are “Today” or
“Previous” day. Default is “Today.” You can also use ‘T’ for ‘Today’ or
‘P’ for ‘Previous’. - stock_type : The type of the ticker,
which can be ‘Eq_Ind’ for Stocks and Indexes, ‘Fund’ or “F” for Fund
tickers, ‘Bond’ or “B” for Bond tickers, and ‘Etfs’ or “E” for ETFs.
escape: A Boolean value (either T or F). If escape is set to True, it
indicates that the DNA (ISIN-Market identifier) is provided directly.
Using True for escape can help avoid time-consuming operations. If
escape is set to False, the function expects the Ticker symbol, name, or
ISIN, along with the type of market to which it belongs. -
nbitems: An integer specifying the number of items to fetch.
Default is 30 (also the maximum).
Example 10.a : Get recent intraday prices for an
Equity
# Get recent intraday prices of ABCA share for 10 items
intra_ = EN_intraday_Data("ABCA", day_type = 'T', nbitems = 10)
print(intra_)
|
Tradeid
|
Time
|
Price
|
Volume
|
Type
|
|
1OK98HZJZ
|
17:35:09
|
4.39
|
1
|
Auction
|
|
1OK98HZJY
|
17:35:09
|
4.39
|
12
|
Auction
|
|
1OK98HZJX
|
17:35:09
|
4.39
|
53
|
Auction
|
|
1OK98HZJW
|
17:35:09
|
4.39
|
41
|
Auction
|
|
1OK98HZJV
|
17:35:09
|
4.39
|
111
|
Auction
|
|
1OK98HZJU
|
17:35:09
|
4.39
|
39
|
Auction
|
|
1OK98HZJT
|
17:35:09
|
4.39
|
317
|
Auction
|
|
1OK98HZJS
|
17:35:09
|
4.39
|
127
|
Auction
|
|
1OK98HZJR
|
17:35:09
|
4.39
|
110
|
Auction
|
|
1OK98HZJQ
|
17:35:09
|
4.39
|
13
|
Auction
|
Example 10.b : Get recent intraday prices of ACOMEA
EMERGING Q2 Fund
intra_1 = EN_intraday_Data("IT0005091126", 'F', escape = FALSE, day_type = 'T')
print(intra_1)
|
Tradeid
|
Time
|
Price
|
Volume
|
Type
|
|
5FC6J23R
|
15:00:48
|
9.955
|
45
|
OffBook On Exchange
|
Example 10.c : Get Previous intraday prices of ETF AAPL by
providing directly the ISIN-Market identifier
intra_2 = EN_intraday_Data("XS2337099563-XAMS", escape = T, day_type = 'Previous')
print(intra_2)
|
Tradeid
|
Time
|
Price
|
Volume
|
Type
|
|
321Y30WCE
|
16:33:59
|
6.9238
|
100
|
Exchange Continuous
|
|
321Y30TUR
|
11:22:27
|
6.9755
|
222
|
Exchange Continuous
|
|
321Y30TN0
|
10:50:37
|
6.9763
|
333
|
Exchange Continuous
|
|
321Y30TJ6
|
10:33:49
|
6.9771
|
444
|
Exchange Continuous
|
|
321Y30TGJ
|
10:21:46
|
6.9789
|
333
|
Exchange Continuous
|
|
|
09:04:27
|
6.9608
|
1
|
Valuation Trade
|
Example 10.d : Get Previous intraday prices of AEX
All-Share Index
intra_3 = EN_intraday_Data("AEX All-Share Index GR", day_type = 'P')
print(intra_3)
|
Tradeid
|
Time
|
Price
|
Volume
|
Type
|
|
|
18:05:02
|
4,497.27
|
|
Closing Reference index
|
|
|
18:00:01
|
4,497.27
|
|
Closing Reference index
|
|
|
17:57:15
|
4,497.23
|
|
Real-time index
|
|
|
17:54:45
|
4,497.24
|
|
Real-time index
|
|
|
17:54:30
|
4,497.25
|
|
Real-time index
|
|
|
17:54:15
|
4,497.24
|
|
Real-time index
|
|
|
17:51:16
|
4,497.25
|
|
Real-time index
|
|
|
17:51:00
|
4,497.26
|
|
Real-time index
|
|
|
17:46:00
|
4,497.25
|
|
Real-time index
|
|
|
17:42:30
|
4,497.26
|
|
Real-time index
|
Authors :
* Koffi Frederic Sessie
(koffisessie@gmail.com)
Creator : Koffi Frederic Sessie
cph
(Copyright Holder) : Koffi Frederic Sessie
License : MIT 2024, Koffi Frederic SESSIE. All
rights reserved.